package Card;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Random;

public class CardDemo {

    private final String[] suits={"♣","♦","♠","♥"};

    // 买牌
    public List<card> BuyCards(){
        // 利用已有的 构建一个足够大的数组
        List<card> list=new ArrayList<>();

        for(int i=0;i<4;i++){
            for(int j=1;j<14;j++){
                card cards=new card(suits[i],j);
                list.add(cards);
            }
        }

        return list;

    }

    public  List<card> shuffle(List<card> cardList){
        // 先取随机数，从数组中最后一个数开始，跟随机数进行调换
        for(int i=51;i>0;i--){
            Random random=new Random();
            int index= random.nextInt(50);
            swap(cardList,i,index);
        }
        return  cardList;
    }


    private void swap(List<card> cardList, int a, int b){
        // 用来交换 值---> 做到随机发放
        card ret=cardList.get(a);
        cardList.set(a,cardList.get(b));
        cardList.set(b,ret);
    }




    //发牌
    public List<List<card>> licensing(List<card> cardList){
        List<List<card>> list=new ArrayList<>();


        List<card> list1=new ArrayList<>();
        List<card> list2=new ArrayList<>();
        List<card> list3=new ArrayList<>();

        //将三个人分别存在list里面
        list.add(list1);
        list.add(list2);
        list.add(list3);

        // 三个人
        for(int i=0;i<3;i++){
            // 每人 5 张 牌
            for(int j=0;j<5;j++){
                list.get(i).add(cardList.get(0));
                cardList.remove(0);
            }
        }

        return list;
    }


}
